//简单选择排序

#pragma once

//简单选择排序
template <typename E>
void SelectionSort(E a[], int n)
{
    for (int i = 0; i < n - 1; i++){
        //从 a[i..n-1] 中选出最小的元素 a[k]
        int k = i;
        int j;
        for (j = i + 1; j < n; j++)
        if (a[j] < a[k])
        k=j;
        //交换 a[j] 和 a[k]
        if (k != i)
        std::swap(a[i],a[k]);
    }
}